As indicated in “Information Technology—Coding of audio-visual objects—Part 2: Visual, Amendment 1: Visual extensions”, ISO/IEC 14496-2:1999/Amd. 1:2000, ISO/IEC JTV 1/SC 29/WG 11 N 3056, the MPEG-4 standard defines a syntax for video bit streams which allows interoperability between various encoders and decoders. Standards describe many video tools, but implementing all of them can result in a too high complexity for most applications. To offer more flexibility in the choice of available tools and encoder/decoder complexity, the standard further defines profiles, which are subsets of the syntax limited to particular tools.
For instance, the Simple Profile (SP) is a subset of the entire bit stream syntax which includes in MPEG terminology: I and P VOPs, AC/DC prediction, 1 or 4 motion vectors per macroblock, unrestricted motion vectors and half pixel motion compensation for progressive pictures. The Advanced Simple Profile (ASP) is a superset of the SP syntax: it includes the SP coding tools, and adds B VOPs, global motion compensation, interlaced pictures, quarter pixel motion compensation where interpolation filters are different from the ones used in half-pixel motion compensation, and other tools dedicated to the processing of interlaced pictures.
The document US RE38,564 E discloses a motion estimation and compensation technique for interlaced digital video such as video object planes (VOPs). Predictor motion vectors for use in differentially encoding a current field coded macroblock are obtained using the median of motion vectors of surrounding blocks or macroblocks. When a surrounding macroblock is itself interlaced an average motion vector for that macroblock is used. This document also discloses a decoder that is provided with functions enabling the direct decoding of field coded macroblocks as defined in ASP.
Nevertheless, interlacing modifies two low-level processes: motion compensation and inverse Direct Cosine Transform (DCT in the following). In some devices with limited CPU resources or power resources, it can be advantageous to use hardware accelerated functions to carry on some of the decoding operations, even if the hardware acceleration devices are not capable to perform the decoding operations in a conformant way. This results in decoding errors which are penalizing in the case of interlaced macroblocks in interlaced pictures.